﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Text;
using WalkingTec.Mvvm.Core;

namespace TRPGDAS.Model.Equipment
{
    public class Equipment : PersistPoco
    {
        [Display(Name = "装备名称")]
        [Required(ErrorMessage = "{0}是必填项")]
        [StringLength(20, ErrorMessage = "{0}最多输入{1}个字符")]
        public string Name { get; set; }

        [Display(Name = "装备图像")]
        [StringLength(256, ErrorMessage = "{0}最多输入{1}个字符")]
        public string PictureURL { get; set; }

        [Display(Name = "装备品质")]
        public EquipmentType EquipmentType { get; set; }

        [Display(Name = "武器类型")]
        public WeaponType WeaponType { get; set; }

        [Display(Name = "装备部位")]
        public EquipmentPositionType EquipmentPosition { get; set; }

        [Display(Name = "伤害/点数")]
        public int DamagePoint { get; set; }

        [Display(Name = "耐久/点数")]
        public int DurabilityPoint { get; set; }

        [Display(Name = "特殊效果点数")]
        public int EffectPoint { get; set; }

        [Display(Name = "特殊效果描述")]
        [StringLength(128, ErrorMessage = "{0}最多输入{1}个字符")]
        public string EffectDescription { get; set; }

        [Display(Name = "生产材料")]
        [StringLength(128, ErrorMessage = "{0}最多输入{1}个字符")]
        public string ProductionMaterial { get; set; }

        [Display(Name = "生产材料点数")]
        public int ProductionMaterialPoint { get; set; }

        [Display(Name = "重量(kg)")]
        public double Weight { get; set; }

        [Display(Name = "体积(m^3)")]
        public double Volume { get; set; }

        [Display(Name = "获取途径")]
        [StringLength(16, ErrorMessage = "{0}最多输入{1}个字符")]
        public string HowToGetIt { get; set; }

        [Display(Name = "简介")]
        [StringLength(256, ErrorMessage = "{0}最多输入{1}个字符")]
        public string Description { get; set; }
    }
}
